Information processing system

ABSTRACT

An information processing system is configured such that which when an application handling multimedia, especially, moving images is performed by an information processor such as a personal computer, a sufficient processing performance is realized with the conventional CPU and bus capabilities. The information processing system includes a bus adaptor or bus converter for connecting a CPU bus and a system bus. The bus converter includes an operation processing unit (ALU) capable of performing a portion of an operating function performed by the conventional CPU or a portion of an operating function performed by an image processing board connected to the system bus, whereby the bus converter takes over a portion of a processing to be performed by the CPU or I/O module. Thereby, an overhead time for data transfer through the buses is reduced so that the total performance of the system is improved. Also, since a processing unqualified for the CPU, for example, a bit operation can be performed by a dedicated hardware, the information processing performance is improved.

BACKGROUND OF THE INVENTION

[0001] The present invention relates to an information processor such as a personal computer or a work station, and more particularly to an information processing system in which a plurality of internal buses are hierarchically connected through a bus adaptor or bus converter.

[0002] The prior art concerning a computer system including a plurality of internal buses hierarchically connected through a bus adaptor (or bus converter) has been disclosed in JP-A-5-233528.

[0003] In the prior art, it is general that in order to prevent the transfer by a low-speed I/O module from disturbing the transfer for a low-speed processor memory, independent buses including a processor bus, a system bus and an I/O bus are hierarchically connected to configure a system. The adjacent buses are connected by a bus adaptor (or bus converter). In a general information processor, it is general that the protocols of connected buses are different. Therefore, a protocol conversion processing is performed in the bus converter.

[0004] In the case where an application handling multimedia, especially, moving images is performed by an information processor such as a personal computer, the handling of a large amount of data may cause the case where the supply of data to be processed from the I/O side to a CPU or a main memory is not in time due to an overhead time for protocol conversion resulting from the hierarchization of buses. On the other hand or conversely, in the case where data processed by the CPU or the main memory is to be transferred to a display unit provided on the I/O bus side, there is also a possibility that the display at a fixed transfer rate becomes impossible. When a processing such as the compression/decompression of a moving image is taken into consideration, it may further be considered that the processing capacity of the CPU itself is insufficient even if the supply of data from the I/O side is in time.

SUMMARY OF THE INVENTION

[0005] An object of the present invention is to provide an information processing system in which in the case where an application handling multimedia, especially, moving images is performed by an information processor such as a personal computer, a load imposed on a CPU is distributed to realize a required processing performance with the conventional CPU and bus performances. More particularly, an object of the present invention is to provide a low-cost information processing system in which a plurality of internal buses are hierarchically connected through a bus adaptor and an application handling multimedia, especially, moving images is performed by an information processor such as a personal computer and in which a processing load of a CPU is reduced, making it possible to prevent the lowering of a throughput caused by a low-speed bus such as a system bus.

[0006] To attain the above object, one aspect of the present invention provides an information processing system in which a processing unit capable of performing an operation processing and an information processing is provided in a bus converter (called a bus adaptor of the information processing system) hierarchically connecting a plurality of internal buses, whereby a part of processings performed by a CPU and an I/O module in the conventional system can be taken over by the bus converter in parallel to the transfer of data.

[0007] Since the processing unit is provided in the bus converter, as mentioned above, the frequency of transfer in bus hierarchy transition is reduced in comparison with the case where the transfer of data before operation and the result of operation is made between the CPU bus side module such as a CPU or a main memory and the system bus side module such as a graphic device performing the high-speed processing of an MPEG moving image. Thereby, a load imposed on the buses can be reduced. Namely, an overhead time for data transfer is reduced, thereby improving the total performance of the system.

[0008] Also, since the bus converter hierarchically connecting the buses, by itself, takes over a portion of an operation for data to be processed, processings to be performed are prevented from concentrating on the CPU or the system bus side I/O module (such as a graphic device), thereby making it possible to reduce the costs of individual parts used in the system or to supplement a system performance even if a low-cost CPU is used.

[0009] Further, since a processing unqualified for the CPU, for example, a bit operation can be performed by a dedicated hardware provided in the bus converter or bus adaptor, the information processing capability can also be improved.

[0010] Other objects, features and advantages of the present invention will become apparent from reading of the following description of embodiments taken in conjunction with the accompanying drawings.

BRIEF DESCRIPTION OF THE DRAWINGS

[0011]FIG. 1 is a detailed block diagram of a bus converter according to an embodiment of the present invention;

[0012]FIG. 2 is an epitomized block diagram showing the construction of a system according to the embodiment;

[0013]FIG. 3 is a timing chart showing one example of the timing of data transfer according to the embodiment;

[0014]FIG. 4 is a timing chart showing another example of the timing of data transfer according to the embodiment;

[0015]FIG. 5 is an epitomized block diagram showing the construction of an alternative to the system according to the embodiment;

[0016]FIG. 6 is a connection diagram showing the relation of connection of bus use arbitration signals for a system bus according to the embodiment; and

[0017]FIG. 7 is a detailed block diagram of a bus converter according to another embodiment of the present invention.

DESCRIPTION OF THE PREFERRED EMBODIMENTS

[0018] In the following, an embodiment of the present invention will be described in reference to FIGS. 1 to 6 and another embodiment thereof will be described with reference to FIG. 7.

[0019] In FIG. 1, a reference numeral 1 denotes a bus converter which is generally called a bus adaptor and is specifically used for the present invention, numeral 5 a CPU bus interface in the bus converter 1, numeral 6 a bus protocol converter unit in the bus converter 1, numeral 7 an operation controller in the bus converter 1, numeral 8 a system bus interface in the bus converter 1, numeral 101 a CPU bus control unit in the CPU bus interface 5, numeral 102 a processing unit or arithmetic and logic unit (ALU) in the operation controller 7, numeral 103 an operation data register, numeral 104 a first-in first-out register (FIFO) for data before operation, numeral 105 an FIFO for data after operation, numeral 106 an operation mode setting register, numeral 107 an operation result transfer destination address register, numeral 108 a transfer rate control unit, numeral 109 a system bus control unit in the system bus interface 8, numerals 110, 111 and 112 bidirectional input/output buffers, numeral 113 an operation mode control unit, numeral 114 an address signal line from the bus protocol converter unit 6 to the operation controller 7, numeral 115 a data signal line from the bus protocol converter unit 6 to the operation controller 7, numerals 116, 117 and 118 selectors, numeral 119 an address signal line of a CPU bus 13 (see FIG. 2), numeral 120 a data signal line of the CPU bus 13, numeral 121 a control signal line of the CPU bus 13, numeral 122 a multiplexed address/data signal line of a system bus 14 (see FIG. 2), and numeral 123 a control signal line of the system bus 14.

[0020] In FIG. 2, reference numeral 2 denotes a CPU, numeral 3 an image processing board having an interface for the system bus 14, numeral 4 a main memory, numeral 9 a display unit, numeral 10 an image processor in the image processing board 3, numeral 11 a work memory in the image processing board 3, and numeral 12 a display memory in the image processing board 3.

[0021] In FIG. 3, reference numeral 301 denotes a system clock signal (CLK) of the system bus 14, numeral 302 a bus use request signal (BRQ0) for the system bus from the bus converter 1 to a system bus arbiter 601 (see FIG. 6), numeral 303 a bus use acceptance signal (BAK0) from the system bus arbiter 601 to the bus converter 1, numeral 304 a bus use request signal (BRQ1) for the system bus from the image processing board 3 to the system bus arbiter 601, numeral 305 a bus use acceptance signal (BAK1) from the system bus arbiter 601 to the image processing board 3, numeral 306 a multiplexed address/data signal line (A/D), numeral 307 an address strobe signal (AS) designating an address cycle, numeral 308 a read transfer designating signal (RD), numeral 309 a write transfer designating signal (WD), numeral 310 a data acknowledge signal (DAK) reporting the receipt of data, numeral 311 a write transfer cycle, and numeral 312 a read transfer cycle.

[0022] In FIG. 4, reference numeral 401 denotes a system clock signal (CLK) of the system bus 14, numeral 402 a bus use request signal (BRQ0) for the system bus from the bus converter 1 to the system bus arbiter 601, numeral 403 a bus use acceptance signal (BAK0) from the system bus arbiter 601 to the bus converter 1, numeral 404 a bus use request signal (BRQ1) for the system bus from the image processing board 3 to the system bus arbiter 601, numeral 405 a bus use acceptance signal (BAK1) from the system bus arbiter 601 to the image processing board 3, numeral 406 a multiplexed address/data signal line (A/D), numeral 407 an address strobe signal (AS) designating an address cycle, numeral, 408 a read transfer designating signal (RD), numeral 409 a write transfer designating signal (WD), numeral 410 a data acknowledge signal (DAK) reporting the receipt of data, and numerals 411 and 412 write transfer cycles.

[0023] In FIG. 5, reference numeral 15 denotes a main memory bus directly connected to the bus converter 1.

[0024] In FIG. 6, reference numeral 601 denotes a system bus arbiter for arbitrating the use of the system bus (or the right of using the system bus), numeral 602 a bus use request signal (BRQ0) for the system bus from the bus converter 1 to the system bus arbiter 601, numeral 603 a bus use acceptance signal (BAK0) from the system bus arbiter 601 to the bus converter 1, numeral 604 a bus use request signal (BRQ1) for the system bus from the image processing board 3 to the system bus arbiter 601, and numeral 605 a bus use acceptance signal (BAK1) from the system bus arbiter 601 to the image processing board 3.

[0025] Next, the operation of the system in one embodiment of the present invention will be described. First, consider the case where the bus converter 1 takes over a portion of a processing performed by the image processing board 3 on the system bus 14.

[0026] Referring to the block diagrams shown in FIGS. 1 and 2, the image processing board 3 writes data before operation through the system bus 14 into the operation data register 103 of the operation controller 7 provided in the bus converter 1. Similarly to the data before operation, an address to be transferred after operation is written into the operation result transfer destination address register 107. The data before operation is transferred to the processing unit 102 through the FIFO 104 for data before operation. In the processing unit 102, an operation processing is performed in accordance with the contents set in the operation mode register 106 provided in the operation mode control unit 113. In the case where the operation performed by the processing unit 102 is an operation which the dedicated hardware can perform at a higher speed than the CPU governing a general operation, the effect of the present invention as an information processing system is remarkable. Such an operation includes, for example, the compression/decompression of data.

[0027] An operation mode to be set into the operation mode setting register 106 is transferred by the image processing board 3 together with the data before operation and the operation result transfer destination address which the image processing board 3 transfers to the bus converter 1.

[0028] Thereupon, the operation data register 103 is written with not only the data before operation but also address identification information for identifying an address to be written into the operation result transfer destination address register 107 and operation mode identification information for identifying the operation mode.

[0029] The registers in the operation mode control unit 113 are set by the CPU 2 or the image processor 10 in the image processing board 3. Data subjected by the processing unit 102 to the operation processing is held in the FIFO 105 for data after operation together with the address identification information and the operation mode identification information so that it is then transferred to the image processing board side through the system bus 14. Hereupon, the operation mode control unit 113 refers to the address identification information held in the FIFO 105 to make a control of transferring the data after operation to the address designated by the operation result transfer destination address register 107. Alternatively, the operation result transfer destination address register 107 may be added with an incremental function so that the data is successively transferred to the work memory 11 of the image processing board 3. In the case where data to be handled is data for the compression/decompression of a moving image or the like, there may occur the case where an operation for applying the order of precedence for transfer onto the system bus is necessitated in order to the frame rate of the image constant. This is governed by the transfer rate control unit 108. When a required transfer rate is high, operation data can be transferred onto the system bus with the precedence over the transfer request of a processor I/O (PIO) access from the CPU side. This control is set by use of the operation mode setting register 106.

[0030] A timing chart representing the timing of data transfer in the above case is shown in FIG. 4.

[0031] Referring to FIG. 6, in the case where data is transferred on the system bus 14, each module on the bus asserts a bus use request signal for the system bus to the system bus arbiter 601 which arbitrates the use of the system bus. Only a module receiving a bus use acceptance signal from the system bus arbiter 601 can use the system bus. Referring to FIG. 4, the first write transfer 411 is a write transfer cycle in which the image processing board 3 writes data before operation into the operation data register 103. The second write transfer 412 is a write transfer cycle in which data subjected to an operation processing and held in the FIFO 105 for data after operation is transferred to the image processing board side.

[0032] The present embodiment has been described in conjunction with the example in which the bus converter 1 automatically transfers data after operation to the image processing board 3. Alternatively, in the case where a required processing speed is not high, the image processing board 3 may issue a read request to the FIFO 105 to read the result of operation. In this case, a control is made so that data held in the FIFO 105 for data after operation is successively read therefrom in the case where data is read from the operation data register 103.

[0033] A timing chart representing the timing of data transfer in that case is shown in FIG. 3.

[0034] Referring to FIG. 3, the first transfer 311 is a write transfer cycle in which the image processing board 3 writes data before operation into the operation data register 103. The second transfer 312 is a read transfer cycle in which the image processing board 3 reads data subjected to an operation processing and held in the FIFO 105 for data after operation.

[0035] Next, another embodiment of the present invention will be described using FIG. 7. This embodiment is different from the foregoing embodiment in that the input to the operation data register 103 is not the transfer from the system bus but the data signal line 115 from the bus protocol converter unit 6 to the operation controller 7.

[0036] The present embodiment is constructed such that in parallel to the transfer of data from the CPU 2 or the main memory 4 to the work memory 11 of the image processing board 3, an operation is performed for that data, thereby making it possible for the bus converter 1 to take over a portion of a processing to be performed by the CPU 2.

[0037] The transfer from the CPU 2 corresponds to processor I/O (PIO) access and the transfer from the main memory 4 corresponds to direct memory access (DMA). The present embodiment may include two transfer destination address designating methods as follows. These will now be described using the PIO access by way of example.

[0038] One transfer destination address designating method (1) is a method in which the CPU 2 writes data before operation on the basis of the gist of PIO write. Irrespective of an address designated by the CPU, PIO write data is written into the operation data register 103. Data before operation written in the operation data register 103 is transferred to the processing unit or arithmetic and logic unit (ALU) 102 through the FIFO 104 for data before operation.

[0039] The contents of an operation to be performed at the time of passage through the processing unit 102 are set into the operation mode setting register 106 provided in the operation mode control unit 113. The data subjected to the operation processing is held into the FIFO 105 for data after operation and is then transferred to the image processing board side through the system bus. The address of destination for transfer in that case is an address designated by the CPU 2 in a PIO write cycle. Whether or not this transfer path is to be used is determined by a value set in the operation mode setting register 106 provided in the operation mode control unit 113.

[0040] Another transfer destination address designating method (2) is a method in which the CPU 2 writes data before operation in a PIO write transfer cycle with an address of the operation data register 103 being designated. Data before operation written in the operation data register 103 is transferred to the processing unit 102 through the FIFO 104 for data before operation. The contents of an operation to be performed at the time of passage through the processing unit 102 are set into the operation mode setting register 106 provided in the operation mode control unit 113. Data subjected to the operation processing is held into the FIFO 105 for data after operation and is then transferred to the image processing board side through the system bus. The address of destination for transfer in that case can be set into the operation result transfer destination address register 107 provided in the operation mode control unit 113. Also, the operation result transfer destination address register 107 may be added with an incremental function so that the data is successively transferred to the work memory 11 of the image processing board 3.

[0041] In any transfer destination address designating method mentioned above, data before operation is written into the operation data register 103, the FIFO 104 for data before operation and the FIFO 105 for data after operation together with an address identifier and an operation mode identifier. And, the data before operation is subjected to an operation processing in accordance with an operation mode for the data before operation and an operation result transfer destination address after operation and is then transferred to the operation result transfer destination address.

[0042] Though the case of PIO write has been described in the above, a control in the case of PIO read can be made similarly by providing a series of an operation data register, an FIFO for data before operation and an FIFO for data after operation in a path directed to the CPU 2.

[0043] Also, the transfer destination address designating methods (1) and (2) mentioned above can be applied to the DAM type transfer similarly.

[0044] Concrete contents of an operation may include not only simple logical and mathematical (or arithmetic) operations but also a Huffman encoding circuit required for the decompression of a compressed image, and so on. In the present invention, therefore, the FIFO 104 for data before operation and the FIFO 105 for data after operation are provided in order that a pretty large amount of data can be utilized for an operation.

[0045] In the system construction, the main memory may be connected to the CPU bus, as shown in FIG. 2 or may be connected directly to the bus converter, as shown in FIG. 5.

[0046] According to the present invention mentioned above, an operation processing unit is provided in a bus converter. Therefore, it is possible to reduce a data transfer amount in bus hierarchy transition in comparison with the case where the transfer of data before an operation and the result of operation is made between the CPU bus side module (such as a CPU or a main memory) and the system bus side module (or an I/O module such as a graphic device). Namely, an overhead time for data transfer and a load imposed on buses are reduced, thereby improving the total performance of the system. Also, a processing unqualified for the CPU, for example, a bit operation can be performed by a dedicated hardware. Therefore, the information processing performance can also be improved. Further, the bus converter itself takes over a portion of an operation. Therefore, processings to be performed are prevented from concentrating on the CPU or the system bus side I/O module (such as a graphic device). As a result, it becomes possible to reduce the costs of individual parts used in the system. 

What is claimed is:
 1. An information processing system comprising a bus converter for performing protocol conversion between a first bus and a second bus based on a protocol different from that of said first bus when the transfer of data is made between a module on said first bus and a module on said second bus, wherein said bus converter includes an operation processing unit for selectively performing an operation processing for transfer data transferred between said first and second buses.
 2. An information processing system according to claim 1, wherein said operation processing unit performs the operation processing for transfer data inputted from said first bus at the time of data transfer from the module on said first bus to the module on said second bus, and said bus converter includes a control unit for providing the transfer data subjected by said operation processing unit to the operation processing, to said second bus.
 3. An information processing system according to claim 2, wherein said bus converter includes a register for selectively designating the contents of the operation processing performed by said operation processing unit.
 4. An information processing system according to claim 2, wherein said bus converter includes an address register for holding an address of the module on said second bus inputted from the module on said first bus when a data is transferred from the module on said first bus to the module on said second bus, and after the subjection of the data by said operation processing unit to the operation processing to provide data after operation, said control unit transfers the data after operation to the module on said second bus in accordance with the address held in said address register.
 5. An information processing system according to claim 2, wherein the module on said first bus, when it makes the transfer of data to the module on said second bus, transfers the data while designating an address in the module on said second bus, said bus converter includes a register for holding said address transferred from the module on said first bus, said operation processing unit of said bus converter receiving said data performs the operation processing for transfer data transferred from the module on said first bus to provide data after operation, and said control unit of said bus converter transfers the data after operation to the address held in said register.
 6. An information processing system according to claim 1, wherein said bus converter includes a register for holding an address of the module on said first bus inputted from the module on said first bus, said operation processing unit of said bus converter receiving data together with said address performs the operation processing for transfer data transferred from the module on said first bus to provide data after operation, and said bus converter includes a control unit for transferring the data after operation to the module on said first bus in accordance with the address held in said register.
 7. An information processing system according to claim 6, wherein said bus converter includes a register for selectively designating the contents of the operation processing performed by said operation processing unit.
 8. An information processing system according to claim 1, wherein said bus converter includes a register for holding an address of the module on said first bus inputted from the module on said first bus, and a control unit for transferring, after the subjection of the data by said operation processing unit to the operation processing to provide data after operation, the data after operation to the module on said first bus in accordance with the address held in said address register.
 9. An information processing system according to claim 1, wherein said bus converter includes a register for holding data transferred from the module on said first bus, said operation processing unit performing the operation processing for the transferred data to provide data after operation, a buffer for storing the data after operation, and a controller for making a control of reading the data held in said buffer in accordance with the module on said first or second bus.
 10. An information processing system comprising: at least a first bus and a second bus, said first and second buses having different protocols; a first module on said first bus; a second module on said second bus; and a bus converter for performing protocol conversion between said first and second buses at the time of data transfer between said first module and said second module, said bus converter including an operation processing unit for selectively performing an operation processing for transfer data transferred between said first and second buses.
 11. An information processing system according to claim 10, wherein said bus converter includes an operation control unit for designating an operation processing mode of said operation processing unit for data which is inputted from said first or second module and is to be transferred to said second or first module and outputting the result of operation to said second or first bus.
 12. An information processing system according to claim 11, wherein said operation control unit has a mode register for holding the contents of an operation processing to be performed by said operation processing unit, the contents of the operation being designated by at least one of said first and second modules, and an address register for designating a destination for transfer of the result of the processing by said operation processing unit.
 13. An information processing system according to claim 12, wherein said first module includes at least one central processing unit, said second module includes at least an image processing unit, said bus converter forms a protocol converter between said first and second buses, said second bus forms a system bus, and said operation control unit selectively responding to an operation request transferred between the buses from image processing unit to cause said operation processing unit to perform an operation processing for the transferred data and controlling said system bus to return the result of the operation processing to said image processing unit.
 14. An information processing system according to claim 10, wherein at least said first bus and said second bus are hierarchically connected through a bus protocol converter which forms said bus converter.
 15. A bus converter which forms a bus adaptor of an information processing system including a plurality of hierarchically connected buses, said bus converter comprising, between modules connected to upper-rank and lower-rank buses, an operation processing unit for selectively performing an operation processing for transfer data transferred through the buses and transferring the result of the processing to a designated module.
 16. A bus converter according to claim 15, further comprising an upper-rank bus interface unit connected to the upper bus, a lower-rank bus interface unit connected to the lower bus, and a bus protocol converter unit provided between said upper-rank and lower-rank bus interface units for performing protocol conversion between said upper-rank and lower-rank buses, said operation processing unit being provided between said bus protocol converting unit and said lower bus interface unit, said operation processing unit including an arithmetic and logic unit and a control unit for controlling said arithmetic and logic unit in accordance with a processing request from a module connected to said upper-rank or lower-rank bus.
 17. A bus converter according to claim 15, wherein said operation processing unit is configured so that it performs a processing for only transfer data transferred between predetermined buses from said upper-rank or lower-rank bus and performs only bus protocol conversion for other transfer data.
 18. A bus converter according to claim 16, wherein said arithmetic and logic unit has data buffers on an input side and an output side thereof so that operation result data is selectively outputted to the lower-rank bus.
 19. A bus converter according to claim 16, wherein said control unit selectively responds to transfer data from a module connected to the lower-rank bus to activate an operation performed by said arithmetic and logic unit and transferring the result of the operation through said lower-rank bus to the transfer data issuing module. 